package com.wzcl.app.utils;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author beingven
 * @Description TODO
 * @createTime 2020年11月20日 14:50:00
 */
public class DateUtil {

    /**
     * 获取Date类型的分钟数
     * @param date Date类型
     * @return 返回分钟数
     */
    public static Integer getMinute(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        //calendar.get(Calendar.YEAR);					//获取年份
        //calendar.get(Calendar.MONTH);					//获取月份
        //calendar.get(Calendar.DATE);					//获取日
        //calendar.get(Calendar.HOUR);					//时（12小时制）
        //calendar.get(Calendar.HOUR_OF_DAY);				//时（24小时制）
        //calendar.get(Calendar.SECOND);					//秒
        //calendar.get(Calendar.DAY_OF_WEEK);				//一周的第几天
        return calendar.get(Calendar.MINUTE);
    }

    /**
     * 时间戳转换为日期
     * @param systemTime 系统时间戳
     * @return 返回String类型日期格式 yyyy-MM-dd HH:mm:ss
     */
    public static String getDateStringBySystemTime(Long systemTime){
        Date date = new Date(systemTime);
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = formatter.format(date);
        return format;
    }

    public static Date getDateBySystemTime(Long systemTime){
        return new Date(systemTime);
    }

    /**
     * 获取两个日期的相差天数
     * @param start 开始日期
     * @param end 结束日期
     * @return 返回相差天数
     */
    public static long getDays(Date start, Date end){
        long time = end.getTime() - start.getTime();
        return time/24/60/60/1000;
    }

    public static void main(String[] args) {
        Date end = getDateBySystemTime(System.currentTimeMillis());
        System.out.println(end);

        Date start = getDateBySystemTime(System.currentTimeMillis()-200000000l);
        System.out.println(start);

        System.out.println(getDays(start, end));
    }
}
